package ln.gather.jsr.jpa.jndi;

import java.util.List;

/**
 * Java JNDI 实现接口：组件上下文
 */
public interface ComponentContext {

    /**
     * 生命周期：初始化
     */
    void init();

    /**
     * 生命周期：销毁
     */
    void destroy();

    /**
     * 根据名字来获取组件实例对象
     */
    <C> C getComponent(String name);

    /**
     * 获取所有的组件实例名称
     */
    List<String> getComponentNames();

}
